******########%###*************##******************#*##%%%%@%#+=+:::*
%%%##%######*****#***********###*********************##%%##%#+++-=*##
#***########****##***********######*************++++++++*****#######*
%%###***##*******************##+*##%#**************++++++++++#####***
*##****************************+++*###**************++********####*+*
##*******************#************######**************************++#
#*#******************###****+====*#*##########*****#*#**************#
#*************************==++***+#************#########*#***#*#**###
#*************************++*#######******************************###
*****************************#########******************************#
**********************+*********##**********************************#
*******+++***##*#****+****##**#%#***********************************#
******++++*******************+**##++********************************#
****************************##*#@#*=+*******************************#
*****************************######+=+******************************#
******+++********************#*****++=**********++******************#
******+************************=++***+=*****************************#
******************************##*****++=+***************************#
****++++++****+*************==*##******++**********+****************#
****++++++****+****************##******++=+*********+++++++++*******#
***+++++++**********************##******++=+*******++***************#
*******+***************+********###******++=******+++++*************#
################################%%%%################################%